import heapq

# 数据流中计算第k大的数值
class HeightCountSolution:
    # 构造方法，根据题目要求应传入k=100000
    def __init__(self, k: int):
        self.k = k
        self.hp = []

    # 每次数据流有新数据传入时调用add方法
    # 每次调用都会返回当前的统计结果
    def add(self, val: int) -> int:
        if len(self.hp) == self.k:
            heapq.heappushpop(self.hp, val)
        else:
            heapq.heappush(self.hp, val)
        return self.hp[0]